<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');



class Aluno extends CI_Controller{ 



	//public $cor_default = "#00959b"; //#006782"; 00959b 389240 b94a48

	public $aluno;

	



	public function __construct(){

		parent::__construct();

        $this->load->model('usuarios_model', 'users');

        $this->load->model('cadastros_model', 'cadastros');

        $this->load->library('form_validation');

        $this->aluno = $this->session->userdata('aluno'); 

        

        



	}



        

       public function index(){

            redirect('aluno/inicio');

	}



	public function login() {

            

        $this->form_validation->set_rules('usuario', 'usuario', 'trim|required|callback__check_login');

        $this->form_validation->set_rules('senha', 'senha', 'trim|required');

        $this->form_validation->set_error_delimiters('<div id="alert_erro" class="mensagemErro">', '</div>');



        if ($this->form_validation->run() == FALSE) {

            $this->load->view('central/login');

        } else {

            redirect('aluno/inicio');

        }

    }
	
	//Código alterado por: Lucas Maia - lucas.codemax@gmail.com
	#Adicionado função de Auto Login
	public function login_auto(){
		
		$usuario = $this->input->post('usuario');
        $senha 	 = $this->input->post('senha');
		
		if($sql = $this->cadastros->get_byLogin($usuario, $senha)){
			
			$data = array(
				'aluno' => $sql->CODIGO,
				'clienteLogado' => TRUE
            );           

            $this->session->set_userdata($data);
			$print['mensagem'] = "deu certo";
			echo json_encode($print);
			
			//redirect('aluno/inicio');

		}else{
			$print['mensagem'] = "Falha no login";
			echo json_encode($print);
		}
		
	}



    public function _check_login(){

        $usuario = $this->input->post('usuario');

        $senha = $this->input->post('senha');



        if($sql = $this->cadastros->get_byLogin($usuario, $senha)){

            

            

            $data = array(

                        'aluno' => $sql->CODIGO,

                        'clienteLogado' => TRUE

                    );

           

            $this->session->set_userdata($data);

            return TRUE;

        }else{

            $this->form_validation->set_message('_check_login', 'Falha na autenticação, dados incorretos.');

            return FALSE;

        }



    }



	public function inicio(){

                

		$this->users->clienteLogado();

		$data['pagina'] = "home";

		$data['cadastro'] = $this->cadastros->get_id($this->aluno);

                $data['info_tempo']=$this->cadastros->getTempo($this->aluno); 

                $data['info_projeto']= $this->cadastros->getProjeto($this->aluno,1);

                

                $data['qtdCiclo']=0;

                if($data['info_projeto']){                

               $COD_PROJETO=$data['info_projeto']->COD_PROJETO;

               $data['ciclos'] = $this->cadastros->getCiclosUsuarios($this->aluno,$COD_PROJETO); 

               // print_r($data['ciclos']);die();

                

                if (!is_null($data['ciclos'])){

                    $data['qtdCiclo']=count($data['ciclos']) ;

                }else{

                     $data['qtdCiclo']=0;

                }

                

                }

                

                $tempo_total=$this->cadastros->tempoTotal($this->aluno);

                

                //$data['ciclos_previstos']= number_format($tempo_total / $data['info_tempo']->TEMPO_DISPONIVEL/3600, 2, ',', ' '); //mostrar com duas casas decimais.

                

                

                if ( $data['info_tempo'] ){

                    $data['ciclos_previstos']= ceil($tempo_total / $data['info_tempo']->TEMPO_DISPONIVEL/3600); //arredonda valor para cima, utilizar preferencialmentes

                }

                //$data['info_projeto']=$this->cadastros->getProjeto($this->aluno);

                

                $this->load->view('central/painel', $data); 

	}



	public function get_logout(){

		/*$this->session->unset_userdata('clienteLogado');*/

                $this->session->sess_destroy();

		redirect($this->index());

	}

        public function ciclo($cod_projeto=NULL){

            $this->users->clienteLogado();

            $data['pagina'] = "Ciclo";

            

            if (!is_null( $cod_projeto)){

                 $data['info_projeto']= $this->cadastros->getProjeto($this->aluno,null,$cod_projeto);

            }else{

                 $data['info_projeto']= $this->cadastros->getProjeto($this->aluno,1);

            }

            $data['labelProjeto']='Projeto não encontrado: ';

            if ($data['info_projeto']){

                $data['labelProjeto']='Projeto Atual: ';

                if($data['info_projeto']->STATUS==0){

                    $data['labelProjeto']='Projeto Antigo: ';

                }



                    $COD_PROJETO=$data['info_projeto']->COD_PROJETO;

                 $data['ciclos'] = $this->cadastros->getCiclosUsuarios($this->aluno,$COD_PROJETO);   

            }else{

                $data['ciclos']=NULL;

            }

         

            

           

           

            

            $data['topicosBanca'] = $this->cadastros->getTopicoBanca($this->aluno);

            foreach ($data['topicosBanca']as $key => $valor) {

                 $data['topicosBanca'][$key]['topicos']=$this->cadastros->getTopicoCiclos($this->aluno,$valor['COD_TOPICO_BANCA'],$valor['CICLO']);

            }

//            echo "<pre>";

//            print_r($data['topicosBanca'] );

//            echo "</pre>";

//            die();

           

           /* $data['topicos'] = $this->cadastros->getTopicoCiclos($this->aluno);

           /* echo "<pre>";

            print_r( $data['topicos']);echo "</pre>";//die();*/

            

            $this->load->view('central/ciclo_aluno', $data);

        }

        public function cadastro(){

            $this->load->view('central/cadastro');

        }

        public function hora_estudo(){

            if ($this->session->userdata('clienteLogado')) {

                $data['info_tempo']=$this->cadastros->getTempo($this->aluno);   

                

                $this->load->view('central/horaEstudo',$data);

            }else{

                redirect('aluno/inicio');

            }

        }

        public function gravarHoraEstudo(){

            $dados=array(

                'COD_ALUNO'=>$this->aluno,

                'TEMPO_DISPONIVEL'=>$this->input->post('horatext'),

                'VELOCIDADE'=>$this->input->post('veltext'),

            );

            $ret=$this->cadastros->novoHoraEstudo($dados);

            

            redirect('aluno/inicio');

        }

        public function alterarHoraEstudo(){

            $dados=array(

                'TEMPO_DISPONIVEL'=>$this->input->post('horatext'),

                'VELOCIDADE'=>$this->input->post('veltext'),

            );

            $ret=$this->cadastros->alterarHoraEstudo($this->aluno,$dados);

            

            redirect('aluno/inicio');

        }

        public function novoAluno(){

            header('Access-Control-Allow-Origin: *');
			
			//Código alterado por: Lucas Maia - lucas.codemax@gmail.com
			# Consertando Bug de API de cadastro via WebService
			
            $mensagem = array('mensagem' => array(), 'codigo' => '0');

            $nome  = $_POST['nome'];
            $email = $_POST['email'];
            $senha = $_POST['senha'];
			
            if($nome == ""){
                $mensagem['codigo'] 	= $mensagem['codigo'] + 1;
                $mensagem['mensagem'][] = "Campo Nome Vazio";
            }

            if($email == ""){
                $mensagem['codigo'] 	= $mensagem['codigo'] + 2;
                $mensagem['mensagem'][] = "Campo Email Vazio";
            }

            if($senha == ""){
                $mensagem['codigo'] 	= $mensagem['codigo'] + 4;
                $mensagem['mensagem'][] = "Campo Senha vazio";
            }

             $verificaEmail = $this->cadastros->getUsuarioByEmail($email);

            if($verificaEmail){
                $mensagem['codigo'] 	= 8;
                $mensagem['mensagem'][] = "Email utilizado por outro usuário"; 
            }

            /*
            0 = sem erros;
			1=nome vazio;
            2=email vazio;  
            4=senha vazio;
            3=Nome e email vazio
            5=nome e senha vazio
            6= Email e senha vazio;
            7- Nome, email e senha vazio
            8 - email utilizado
            */         

            if($mensagem['codigo'] == 0){
                $mensagem['mensagem'][] = "gravado com sucesso";

                $dados=array(
                    'NOME_COMPLETO' => $nome,
                    'SENHA' 		=> md5(md5($senha)),
                    'EMAIL' 		=> $email
                );

                $ret = $this->cadastros->novoAluno($dados);
            }            

            echo json_encode($mensagem);            
        }

        public function novoAluno1(){ 

            

            

              $this->form_validation->set_rules('nome', 'Nome', 'trim|required');

              $this->form_validation->set_rules('email', 'E-mail', 'trim|required');

               $this->form_validation->set_rules('senha', 'Senha', 'trim|required|min_length[6]');

              /* $this->form_validation->set_rules('CPF', 'CPF', 'trim|required');

               $this->form_validation->set_rules('endereco', 'Endereço', 'trim|required');

               $this->form_validation->set_rules('Cep', 'Cep', 'trim|required');

               $this->form_validation->set_rules('Celular', 'Celular', 'trim|required');

               $this->form_validation->set_rules('termo', 'Termo', 'required');

               

               $this->form_validation->set_rules('nascimento', 'Data de Nascimento', '');

               $this->form_validation->set_rules('numero', 'Número', '');

               $this->form_validation->set_rules('Cidade', 'Cidade', '');

               $this->form_validation->set_rules('estado', 'Estado', '');

               $this->form_validation->set_rules('residencial', 'Tel. residencial', '');

               $this->form_validation->set_rules('complemento', 'Complemento', '');*/

               

               

              

               if($this->form_validation->run() == FALSE){

                    //$this->load->view('central/cadastro');

                    echo $msg=  json_encode( validation_errors());

                    

                    

                }else{

                $dados=array(

                    

                    'NOME_COMPLETO'=>$this->input->post('nome'),

                    'CPF'=>$this->input->post('CPF'),

                    'EMAIL'=>$this->input->post('email'),

                    /*'DATA_NASCIMENTO'=>$this->input->post('nascimento'),

                    'SENHA'=>md5(md5($this->input->post('senha'))) ,

                    'CELULAR'=>$this->input->post('Celular'),

                    'TELEFONE'=>$this->input->post('residencial'),

                    'CEP'=>$this->input->post('Cep'),

                    'ENDERECO'=>$this->input->post('endereco'),

                    'NUMERO'=>$this->input->post('numero'),

                    'COMPLEMENTO'=>$this->input->post('complemento'),

                    'CIDADE'=>$this->input->post('Cidade'),

                    'UF'=>$this->input->post('estado'),

                    'GRUPO'=>'1',

                    'STATUS'=>'0',*/

                    

                );

              $ret=$this->cadastros->novoAluno($dados);

              

              if (!is_null( $ret)){

                  $arr=array('mensagem'=>'ok');

                   echo $msg=  json_encode( $arr);

                  /*$dados['codigo']=$ret;

                  $this->enviarEmailCadastro($dados);

                  redirect('aluno/cadastroEfetuado');*/

              }else{

                   $arr=array('mensagem'=>'erro');

                   echo $msg=  json_encode( $arr);

              }

                }

              

        }

        public function cadastroEfetuado(){

            $this->load->view('central/cadastroEfetuado' );

        }

        public function enviarEmailCadastro($dados){

            

//        $dados['EMAIL']='ivan.rufino.m@gmail.com';

//        $dados['NOME_COMPLETO']='Ivan Rufino Martins';

//            $dados['codigo']='1';

            $config['protocol'] = 'mail';

//            $config['mailpath'] = '/usr/sbin/sendmail';

                   

        

            $config['charset'] = 'utf-8';

            $config['mailtype'] = 'html';

            $config['wordwrap'] = TRUE;



            $this->email->initialize($config);

            $this->email->from( 'noreply@cursultoria.com.br','Cursultoria');

            $this->email->to($dados['EMAIL']);

            //$this->email->to("lucas.codemax@gmail.com");

            //$this->email->Bcc($userKey->RESPONSAVEL);

            $this->email->subject("CURSULTORIA - ATIVAÇÃO DE CONTA");



//            $mensagem = "<b>Nome:</b>" . $this->input->post('nome') . "<br />";

//            $mensagem .= "<b>Email:</b>" . $this->input->post('email') . "<br />";

//            $mensagem .= "<b>Telefone:</b>" . $this->input->post('telefone') . "<br />";

//            $mensagem .= "<b>Assunto:</b>" . $this->input->post('assunto') . "<br />";

//            $mensagem .= "<b>Mensagem:</b>" . $this->input->post('mensagem') . "<br />";

        

            $mensagem=$this->load->view('email/ativacaoCadastro',$dados,true);



            $this->email->message($mensagem);

             if ($this->email->send()){

                 echo $this->email->print_debugger();

                 die('enviado');

             }else{

                 die ('não enviado');

             }

                

             

                

            

        }

        public function ativarConta($codigo){

            

            $dados['STATUS']='1';

            $ret=$this->cadastros->alterarAluno($codigo,$dados);

            

            redirect('aluno/get_logout');

        }

     

        public function resetSenha(){

            //  FALTA TERMINAR

            echo "chegou aqui";

        }

        public function foto(){?>

        <?php echo form_open_multipart('aluno/do_upload');?>

        <input type="file" name="userfile" size="20" />

        <br /><br />

        <input type="submit" value="upload" />



        </form>

        <?php }

        public function do_upload(){

            $config['upload_path'] = './uploads/';

		$config['allowed_types'] = 'gif|jpg|png';

		$config['max_size']	= '100';

		$config['max_width']  = '1024';

		$config['max_height']  = '768';



		$this->load->library('upload', $config);



		if ( ! $this->upload->do_upload())

		{

			$error = array('error' => $this->upload->display_errors());



			$this->load->view('upload_form', $error);

		}

		else    {

			$data = array('upload_data' => $this->upload->data());



			$this->load->view('upload_success', $data);

		}

        }

        public function projetosAntigos(){

            $this->users->clienteLogado();

		$data['pagina'] = "home";

		$data['cadastro'] = $this->cadastros->get_id($this->aluno);

                $data['info_tempo']=$this->cadastros->getTempo($this->aluno);              

                $projetos=$this->cadastros->getProjeto($this->aluno,NULL);

                $proj=$this->cadastros->getProjeto($this->aluno,1);

                

                if (count($projetos)==1 && $projetos){

                        $data['projetos'][]=(array) $projetos;

                }else{

                        $data['projetos']=$projetos;

                    }

                $data['qtdCiclo']=0;

                if($proj){;

                    $COD_PROJETO=$proj->COD_PROJETO;

                 

                    $data['ciclos'] = $this->cadastros->getCiclosUsuarios($this->aluno,$COD_PROJETO); 

               

                    if (!is_null($data['ciclos'])){

                        $data['qtdCiclo']=count($data['ciclos']) ;

                    }else{

                         $data['qtdCiclo']=0;

                    }

                 }

                $tempo_total=$this->cadastros->tempoTotal($this->aluno);

                

                //$data['ciclos_previstos']= number_format($tempo_total / $data['info_tempo']->TEMPO_DISPONIVEL/3600, 2, ',', ' '); //mostrar com duas casas decimais.

                if ( $data['info_tempo'] ){

                    $data['ciclos_previstos']= ceil($tempo_total / $data['info_tempo']->TEMPO_DISPONIVEL/3600); //arredonda valor para cima, utilizar preferencialmentes

                }



                $this->load->view('central/projetosAntigos', $data); 

        }

        public function mapa(){

           $this->users->clienteLogado();

           $projetos=$this->cadastros->getProjeto($this->aluno,NULL);

          

          

           if (count($projetos)==1 && $projetos){

               $data['projetos'][]=(array) $projetos;

           }else{

               $data['projetos']=$projetos;

           }

            

            //echo "<pre>";print_r($data['projetos']);echo "</pre>";die();

           $this->load->view('central/mapa-gerencial', $data); 

        }

        public function getMapa($idProjeto){

            $dados['ciclos'] = $this->cadastros->getCiclosUsuarios($this->aluno,$idProjeto);

            $dados['disciplinas'] = $this->cadastros->getDisciplinabyUsuario($this->aluno);

            

            foreach ($dados['disciplinas'] as $disciplina) {

                $dados['total'][$disciplina['CODIGO']]=$this->cadastros->getTotalDisciplinabyUsuario($this->aluno,$disciplina['CODIGO']);

                foreach ($dados['ciclos'] as $ciclo) {

                  $dados['subTotal'][$disciplina['CODIGO']][$ciclo->CICLO]=$this->cadastros->getSubTotalDisciplinabyUsuario($this->aluno,$disciplina['CODIGO'],$ciclo->CICLO);

                }

                

            }

            

       // echo "<pre>";            print_r($dados['subTotal']); echo "</pre>"; die();

          echo $this->load->view('central/mapaAjax',$dados,true);

        }

        public function pagina404(){

            echo "Erro 404 <br> pagina não encontrada";

        }

        public function logout(){

        $data = array(

                    'usuario' => '',

                    'logged' => FALSE

                );

        $this->session->unset_userdata($data);

        $this->session->sess_destroy();

         redirect('aluno');

      //  echo site_url()."painel/login";

    }

      public function teste(){

          $url="http://cursultoria.com.br/novo/aluno/novoaluno.html?nome=Jose1&email=jose1@gmail.com&senha=123456"; 

          $arquivo =file_get_contents($url);

          print_r($arquivo);

      } 

      public function teste2(){

          

          //set POST variables

        $url = 'http://cursultoria.com.br/novo/aluno/novoaluno.html?nome=Jose1&email=jose1@gmail.com&senha=123456';

        $fields_string="";

        $fields = array(

            'nome' => urlencode('ivan Rufino'),

            'email' => urlencode('ivan.rufino@gmail'),

            'senha' => urlencode('123456'),

           

        );



        

            $ch = curl_init();



        //set the url, number of POST vars, POST data

            curl_setopt($ch, CURLOPT_URL, $url);

            curl_setopt($ch, CURLOPT_POST, false);

            curl_setopt($ch, CURLOPT_POSTFIELDS, NULL);



        //execute post

        $result = curl_exec($ch);

        print_r($result);

        //close connection

        curl_close($ch);

    }

       

}